#ifndef _Node_h_
#define _Node_h_
//---------------------------------------------------------------------------------------------------------------------------------------------------------//
//---------------------------------------------------------------------------------------------------------------------------------------------------------//
#include <stdio.h>
//---------------------------------------------------------------------------------------------------------------------------------------------------------//
//---------------------------------------------------------------------------------------------------------------------------------------------------------//
  class TNode {
      
    protected :
        
      void  *info;
      TNode *next;
      
    public :
        
      TNode():info(NULL), next(NULL) {};
      TNode(void* data):info(data) { this->next = NULL; };
      ~TNode(){ if (this->info) delete this->info; };
      
      inline void*  Info() { return this->info; };
      inline void   Info(void* info) { this->info = info; };
      inline TNode* Next() { return this->next; };
      inline void Next(TNode* next) { this->next = next; };
      
      TNode  operator=(const TNode &NodeT) {this->info = NodeT.info; this->next = NodeT.next; return *this;};
  };
  
//---------------------------------------------------------------------------------------------------------------------------------------------------------//
//---------------------------------------------------------------------------------------------------------------------------------------------------------//
  
#endif
